Field
This disclosure is generally related to a transport framework. More specifically, this disclosure is related to a method and system for facilitating command messages to be communicated in a layer-agnostic manner between components of the same or different stacks.
Related Art
The proliferation of the Internet and e-commerce continues to create a vast amount of digital content. Content centric network (CCN) architectures have been designed to facilitate accessing and processing such digital content. A CCN includes entities, or nodes, such as network clients, forwarders (e.g., routers), and content producers, which communicate with each other by sending “interest” packets for various content items and receiving “content object” packets in return. CCN interests and content objects are identified by their unique names, which are typically hierarchically structured variable-length identifiers (HSVLI). An HSVLI can include contiguous name components ordered from a most general level to a most specific level.
A CCN node implements a transport stack, which includes layers of independent components that forward messages to one another. A component in the stack can also be referred to as a module. The stack is assembled and initialized at when a CCN node is initiated. The stack implements CCN protocols and integrates external services, such as caches, identity, key, and certificate services. The stack also facilitates control messages to coordinate operations. The node uses the stack to forward messages with interests and content objects.
Each component of the stack can process the messages in either direction. This can change the system state of the node or modify message contents. Furthermore, the component may queue the messages or generate new messages. In addition, the node can modify the transport stack (e.g., can insert a new component or remove an existing component). Such modifications may require coordination among the components. In order to avoid duplicate or interfering operations by the components, configuration, control, and management of the components may require the ability to guarantee a known state for a period of time necessary to implement and activate new state or change its configuration.